Smart integration: SCIM connector development support#588
Merged
tonydamage merged 2 commits intomasterfrom Apr 1, 2026
Merged
Conversation
c519989 to
5af11e6
Compare
tonydamage
requested changes
Mar 31, 2026
Contributor
tonydamage
left a comment
There was a problem hiding this comment.
Could you please look into the comments?
|
|
||
| var delta = PrismContext.get().deltaFor(ConnectorDevelopmentType.class) | ||
| .item(ConnectorDevelopmentType.F_PROCESSED_DOCUMENTATION) | ||
| .replaceRealValues(docs) |
Contributor
There was a problem hiding this comment.
This would replace / remove also processed documentation which was discovered by midPilot service and downloaded, probably you need to track the processed documentation coming from this discovery vs the one from midPilot.
| var mapper = new ObjectMapper(); | ||
| var schemas = new ArrayList<String>(); | ||
| for (var shadow : shadows) { | ||
| var attrs = shadow.findContainer(ShadowType.F_ATTRIBUTES); |
Contributor
There was a problem hiding this comment.
MidPilot service expects one schema per file / documentation.
Author
There was a problem hiding this comment.
So, implementation should not merge it into one JSON but let it as separated documentation, correct?
e059095 to
d117004
Compare
added 2 commits
April 1, 2026 12:44
…d approach Instead of fetching /Schemas and /ResourceTypes endpoints directly, discover SCIM documentation by reading shadows of conndev_ScimSchema and conndev_ScimResource object classes from the testing resource. Schema refresh (delete + testResource) is triggered before shadow search to ensure up-to-date data. Also add DEVELOPMENT_MODE constant to ScimRestConfigurationProperties and expose JSON_FACTORY as protected in RestBackend.
…orStepPanel Show scimBaseUrl and developmentMode fields for SCIM integration type, and baseAddress for REST. Suggested URL is pre-filled into the correct field based on integration type. Completion check and mandatory handling updated accordingly. Fix reference to renamed BASE_ADDRESS_ITEM_NAME in ConnectorDevelopmentWizardSummaryPanel. Preserve non-SCIM processed documentation when refreshing SCIM docs; refactor loadShadowsAsDocumentation to return one entry per shadow.
d117004 to
f612c31
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaces the old HTTP-based SCIM documentation discovery (JsonHalBackend) with a shadow-based approach using
ScimBackend. Schema is refreshed via delete + testResource before loading shadows of conndev_ScimSchema and
conndev_ScimResource object classes.
On the GUI side, BaseUrlConnectorStepPanel now detects the integration type and shows the appropriate fields —
scimBaseUrl + developmentMode for SCIM, baseAddress for REST. Suggested URL is pre-filled into the correct
field, and completion check reflects the same logic.